Skip to content

chore(deps): update dependency @zenstackhq/orm to v3.7.0#76

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/zenstack
Open

chore(deps): update dependency @zenstackhq/orm to v3.7.0#76
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/zenstack

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 14, 2026

This PR contains the following updates:

Package Change Age Confidence
@zenstackhq/orm (source) 3.6.43.7.0 age confidence

Release Notes

zenstackhq/zenstack (@​zenstackhq/orm)

v3.7.0: ZenStack Release v3.7.0

Compare Source

New Features

Several cool additions landed in this release 🥳 !

Full-Text Search (Postgres Only)

You can now use the fts and _ftsRelevance query fields to do full-text queries against Postgres database doc. Mark fields you want to search with the @fullText attribute and enjoy effortless queries.

model Article {
  id       Int     @​id @​default(autoincrement())
  title    String  @​fullText
  body     String  @​fullText
  subtitle String? @​fullText
  notes    String? // not full-text-searchable
}
await db.article.findMany({
  where: { title: { fts: { search: 'cat & dog' } } },
});

await db.article.findMany({
  orderBy: {
    _ftsRelevance: { fields: ['body'], search: 'cat & dog', sort: 'desc' },
  },
});
Fuzzy Search (Postgres Only)

You can now use the fuzzy and _fuzzyRelevance query fields to do fuzzy search against Postgres database doc. Mark fields you want to search with the @fuzzy attribute and enjoy effortless queries. This feature requires the pg_trgm extension. Read the docs for more details.

This awesome feature is contributed by @​docloulou .

model Flavor {
  id          Int     @​id @​default(autoincrement())
  name        String? @​fuzzy
  description String  @​fuzzy
  notes       String? // not fuzzy-searchable
}
await db.flavor.findMany({
  where: { name: { fuzzy: { search: 'Aple' } } },
});

await db.flavor.findMany({
  orderBy: {
    _fuzzyRelevance: { fields: ['name'], search: 'Apple', sort: 'desc' },
  },
});
Fetch-Based API Client

A new @zenstackhq/fetch-client package is added to provide a simple fetch-based client for consuming the automated CRUD services (RPC-style only). Think of it as the sibling of the @zenstackhq/tanstack-query package, but without framework dependency and complexity of reactive state management. Ideal when you just need a simple, promise-based client. doc

import { createClient } from '@​zenstackhq/fetch-client';
import { schema } from '~/zenstack/schema-lite';

const client = createClient(schema, {
  endpoint: 'https://example.com/api/model',
});

const users = await client.user.findMany({ include: { posts: true } });
const post = await client.post.create({ data: { title: 'Hello' } });
TanStack Query Sequential Transactions

You can now use the $transaction.useSequential hook to execute sequential transactions from the frontend doc.

const client = useClientQueries(schema);
const tx = client.$transaction.useSequential();

function onSubmit() {
  tx.mutate([
    { model: 'User', op: 'create', args: { data: { email: '[email protected]' } } },
    { model: 'Post', op: 'create', args: { data: { title: 'Hello' } } },
  ]);
}
Kysely Version Bumped to v0.29.x

We've bumped Kysely dependency version to its latest. Please note that the new version appears to be ESM-only. Please double-check compatibility after the upgrade.

Fixes and Improvements

  • [tanstack-query] You can now use DbNull/JsonNull/AnyNull to filter JSON fields with the query hooks doc
  • [zod] Fixed a JSON field typing inconsistency between zod schemas and ORM types by @​Azzerty23 #​2639
  • [orm] Fixed several issues related to using @db.Time/@db.TimeZ fields by @​erwan-joly #​2633 #​2631
  • [orm] Fixed an infinite recursion issue when validating cyclic strongly-typed JSON #​2654
  • [better-auth] Fixed adapter loading issues when targeting CJS #​2646
  • [policy] Fixed policy plugin detection issue with certain bundlers by @​Albatrosso #​2662
  • [cli] Fixed db pull issue with multiple FK fields targeting the same model by @​svetch
  • Upgraded to TypeScript 6

Full Changelog: zenstackhq/zenstack@v3.6.4...v3.7.0


Welcome @​docloulou and @​Albatrosso as our new contributors ❤️ !


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/zenstack branch from 3a7dc71 to 5298729 Compare May 18, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants